This page last changed on Feb 09, 2010 by scytacki.

On OS X 10.4 with java 1.5.0_16 and 1.5.0_19, if the selected j2se element has a heap size specified it causes a null pointer exception.
This only happens when the url to the jnlp is passed directly to javaws.
The same jnlp will work fine if downloaded first to the local drive and passed to javaws as a file.

My theory is that webstart doesn't actually start java when working with a file, it selects the correct j2se element and then starts up java. But when a URL is passed in then java is started to download it.

If no heap size is specified then it appears the same process will run the jnlp. Otherwise you can see one application go by on the dock and then the real application starts.

Once the failed jnlp is attempted to be run, it can actually be run from the javaws application manager directly.

This is the exception that is printed to the terminal when this error happens:

Exception in thread "javawsApplicationMain" java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:441)
        at java.lang.Runtime.exec(Runtime.java:591)
        at java.lang.Runtime.exec(Runtime.java:464)
        at com.sun.javaws.Launcher.execProgram(Launcher.java:823)
        at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:498)
        at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
        at com.sun.javaws.Launcher.run(Launcher.java:165)
        at java.lang.Thread.run(Thread.java:613)
Document generated by Confluence on Jan 27, 2014 16:56